free(): invalid size

Thread 1 "rocksndiamonds" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a1535 in __GI_abort () at abort.c:79
#2  0x00007ffff78f8508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7a0328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff78fec1a in malloc_printerr (str=str@entry=0x7ffff7a01453 "free(): invalid size") at malloc.c:5341
#4  0x00007ffff790043c in _int_free (av=<optimized out>, p=0x55555f80a700, have_lock=<optimized out>) at malloc.c:4169
#5  0x0000555555713b28 in checked_free (ptr=0x55555f80a710) at misc.c:1275
#6  0x0000555555705cbc in FreeSnapshotBuffer (bi_raw=0x555559aada30) at snapshot.c:72
#7  0x0000555555714fdf in deleteNodeFromList (node_first=0x7fffffffd8e8, key=0x0, destructor_function=0x555555705c72 <FreeSnapshotBuffer>) at misc.c:2084
#8  0x0000555555705cf1 in FreeSnapshotBuffers (snapshot_buffers=0x55555f808690) at snapshot.c:79
#9  0x0000555555705d2b in FreeSnapshotSingle () at snapshot.c:93
#10 0x0000555555705ec0 in SaveSnapshotSingle (snapshot_buffers=0x555559a2a1a0) at snapshot.c:177
#11 0x00005555556b3e03 in SaveEngineSnapshotSingle () at game.c:15383
#12 0x00005555556ed824 in TapeQuickSave () at tape.c:1023
#13 0x000055555564a4ae in HandleKey (key=1073741891, key_status=1) at events.c:2241
#14 0x0000555555648c63 in HandleKeyEvent (event=0x7fffffffd9e0) at events.c:1462
#15 0x0000555555646b84 in HandleEvents () at events.c:249
#16 0x0000555555646d67 in EventLoop () at events.c:348
#17 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdb38) at main.c:7762
(gdb) # in middle of playing a level, not messing with tape?
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/Environ/Compile/rocksndiamonds-4.1.4.1/rocksndiamonds 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37eb700 (LWP 18273)]
[New Thread 0x7fffe37aa700 (LWP 18274)]
[New Thread 0x7fffe1904700 (LWP 18275)]
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 29 ms (max. 34 fps / 68 %)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 29 ms (max. 34 fps / 68 %)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 0 ms (maximum speed)
free(): double free detected in tcache 2

Thread 1 "rocksndiamonds" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a1535 in __GI_abort () at abort.c:79
#2  0x00007ffff78f8508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7a0328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff78fec1a in malloc_printerr (str=str@entry=0x7ffff7a04f58 "free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007ffff79006fd in _int_free (av=0x7ffff7a3ac40 <main_arena>, p=0x55555b42b730, have_lock=<optimized out>) at malloc.c:4193
#5  0x0000555555713b28 in checked_free (ptr=0x55555b42b740) at misc.c:1275
#6  0x0000555555712b25 in setString (old_value=0x55555860c330 <tape+16>, new_value=0x55555c782d30 "rnd_alan_bond") at misc.c:844
#7  0x00005555556eca43 in TapeErase () at tape.c:530
#8  0x00005555556ecbff in TapeStartRecording (random_seed=1592562036) at tape.c:584
#9  0x00005555556a7c7b in StartGameActions (init_network_game=0, record_tape=1, random_seed=0) at game.c:11322
#10 0x00005555556648c0 in HandleMainMenu (mx=0, my=0, dx=0, dy=0, button=0) at screens.c:2134
#11 0x000055555564a6a5 in HandleKey (key=13, key_status=1) at events.c:2304
#12 0x0000555555648c63 in HandleKeyEvent (event=0x7fffffffd9e0) at events.c:1462
#13 0x0000555555646b84 in HandleEvents () at events.c:249
#14 0x0000555555646d67 in EventLoop () at events.c:348
#15 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdb38) at main.c:7762
(gdb) # had just hit esc, froze at main menu
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/Environ/Compile/rocksndiamonds-4.1.4.1/rocksndiamonds 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37eb700 (LWP 23240)]
[New Thread 0x7fffe37aa700 (LWP 23241)]
[New Thread 0x7fffe1903700 (LWP 23242)]
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 29 ms (max. 34 fps / 68 %)
rocksndiamonds: frame delay == 0 ms (maximum speed)
rocksndiamonds: frame delay == 0 ms (maximum speed)
free(): double free detected in tcache 2

Thread 1 "rocksndiamonds" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a1535 in __GI_abort () at abort.c:79
#2  0x00007ffff78f8508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7a0328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff78fec1a in malloc_printerr (str=str@entry=0x7ffff7a04f58 "free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007ffff79006fd in _int_free (av=0x7ffff7a3ac40 <main_arena>, p=0x555559a0f9f0, have_lock=<optimized out>) at malloc.c:4193
#5  0x0000555555713b28 in checked_free (ptr=0x555559a0fa00) at misc.c:1275
#6  0x0000555555712b25 in setString (old_value=0x55555860c330 <tape+16>, new_value=0x55555c782790 "rnd_alan_bond") at misc.c:844
#7  0x00005555556eca43 in TapeErase () at tape.c:530
#8  0x00005555556ecbff in TapeStartRecording (random_seed=1591697785) at tape.c:584
#9  0x00005555556a7c7b in StartGameActions (init_network_game=0, record_tape=1, random_seed=0) at game.c:11322
#10 0x00005555556648c0 in HandleMainMenu (mx=0, my=0, dx=0, dy=0, button=0) at screens.c:2134
#11 0x000055555564a6a5 in HandleKey (key=13, key_status=1) at events.c:2304
#12 0x0000555555648c63 in HandleKeyEvent (event=0x7fffffffd9e0) at events.c:1462
#13 0x0000555555646b84 in HandleEvents () at events.c:249
#14 0x0000555555646d67 in EventLoop () at events.c:348
#15 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdb38) at main.c:7762
(gdb) # back in the main menu going to restart
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /media/Environ/Compile/rocksndiamonds-4.1.4.1/rocksndiamonds 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe37eb700 (LWP 24713)]
[New Thread 0x7fffe37aa700 (LWP 24714)]
[New Thread 0x7fffe1903700 (LWP 24716)]
rocksndiamonds: frame delay == 30 ms (max. 33 fps / 66 %)
rocksndiamonds: frame delay == 1 ms (max. 1000 fps / 2000 %)
rocksndiamonds: warning: getKeyFromKeyName(): not completely implemented
free(): double free detected in tcache 2

Thread 1 "rocksndiamonds" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff78a1535 in __GI_abort () at abort.c:79
#2  0x00007ffff78f8508 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7a0328d "%s\n") at ../sysdeps/posix/libc_fatal.c:181
#3  0x00007ffff78fec1a in malloc_printerr (str=str@entry=0x7ffff7a04f58 "free(): double free detected in tcache 2") at malloc.c:5341
#4  0x00007ffff79006fd in _int_free (av=0x7ffff7a3ac40 <main_arena>, p=0x55555c99c520, have_lock=<optimized out>) at malloc.c:4193
#5  0x0000555555713b28 in checked_free (ptr=0x55555c99c530) at misc.c:1275
#6  0x0000555555712b25 in setString (old_value=0x55555860c330 <tape+16>, new_value=0x55555c782c70 "rnd_alan_bond") at misc.c:844
#7  0x00005555556eca43 in TapeErase () at tape.c:530
#8  0x00005555556ecbff in TapeStartRecording (random_seed=1592350220) at tape.c:584
#9  0x00005555556a7c7b in StartGameActions (init_network_game=0, record_tape=1, random_seed=0) at game.c:11322
#10 0x00005555556648c0 in HandleMainMenu (mx=0, my=0, dx=0, dy=0, button=0) at screens.c:2134
#11 0x000055555564a6a5 in HandleKey (key=13, key_status=1) at events.c:2304
#12 0x0000555555648c63 in HandleKeyEvent (event=0x7fffffffd9e0) at events.c:1462
#13 0x0000555555646b84 in HandleEvents () at events.c:249
#14 0x0000555555646d67 in EventLoop () at events.c:348
#15 0x000055555563a1ca in main (argc=1, argv=0x7fffffffdb38) at main.c:7762
(gdb) # just hit ESC to go back to main menu to restart level
